#ifndef IMAGELOADER_HPP
#define IMAGELOADER_HPP

//------------------------------------------------------------------------------
// Fichier d'entête utilisés
//------------------------------------------------------------------------------
#include "Image.hpp"

namespace ImageAnalysis
{
//----------------------------------------------------------------------
// Cette classe permet de charger des fichiers image dans 
// des objets de type Image.
//----------------------------------------------------------------------
class ImageLoader
{
public:
	//----------------------------------------------------------------------
        // Structure
        //----------------------------------------------------------------------	

        //----------------------------------------------------------------------
        // Constructeur
        //----------------------------------------------------------------------
        ImageLoader( );

	//----------------------------------------------------------------------
        // Destructeur
        //----------------------------------------------------------------------
        virtual ~ImageLoader();

	//----------------------------------------------------------------------
    // Permet de charger une image à partir de son chemin
    //----------------------------------------------------------------------
	virtual Image* LoadImage( const char * filename )=0;

private:
        //----------------------------------------------------------------------
        // Constructeur par copie et oprérateur d'affectation en privée pour
        // interdire leur utilisation
        //----------------------------------------------------------------------
        ImageLoader( const ImageLoader& copy);
        ImageLoader& operator=( const ImageLoader& copy );
};

}
#endif //IMAGELOADER_HPP
